#ifndef __FIND_NEURON_MAX_ERROR_VERSION_001__
#define __FIND_NEURON_MAX_ERROR_VERSION_001__

#include "../processing.h"
#include "../study.h"
#include "../ntype.h"

class FindNeuronMaxError : public Processing
{

  public:
    FindNeuronMaxError();
    virtual ~FindNeuronMaxError();

    virtual bool start();

    virtual ntype::neuronid_t getNeuronID() const;
    virtual ntype::error_t    getError() const;


  private:
    ntype::error_t getNeuronSynapseError(const neuron&);
    ntype::error_t getNeuronAxonError(const neuron& n);
    ntype::error_t getSynapseError(const neuron& n, ntype::synapseid_t synID);
    void clearError();

  protected:
      ntype::error_t              m_error_value;
      ntype::neuronid_t           m_neuron_id;

};

#endif //__FIND_NEURON_MAX_ERROR_VERSION_001__
